KDE's Dolphin file browser is widely regarded as the most customizable. But it also has a lot of advanced built-in functionality and is extensible to add even more capability. Among its most useful functionality is the ability to access and manage remote files directly in the file browser using the FISH protocol, which in turn relies on the SSH protocol. This article describes how this can be used to transfer files to and from remote computers and to even access and edit remote files locally.
The functionality discussed here relies on the FISH network protocol to provide the underlying capability by in turn using the SSH protocol. So, in order to use it, the remote computer must have an SSH server enabled and configured to authenticate a user account on that machine using a public/private key pair as the first attempted authentication method.
The connection to the remote computer is initiated by entering
in the path entry box of Dolphin. Once connected, the files and folders on the remote computer can be manipulated as if they are on the local computer with the same rights as the user of the remote computer whose credentials were used to establish the SSH connection. In the following set of slides, a connection is established in the right pane to a virtual machine at 192.168.56.101. The Dolphin right pane path entry box is cleared in Slide 1 and in Slide 2 fish://username@192.168.56.101 is entered in the path entry box. Slide 3 shows Dolphin displaying the user's home folder on the remote computer. Slide 4 presents the output of ls on the remote computer through an SSH connection in the Konsole terminal that shows the same contents as in Dolphin.fish://username@hostname
orfish://username@IPaddress
Files and folders can be dragged and dropped from the local computer to the remote computer and vice versa. Files can even be transferred between two remote computers connected Dolphin using FISH. The following set of slides show the process of copying /home/brook/liquidprompt/ to /home/username/ on the remote computer at 192.168.56.101 after connecting to it in Dolphin as username.
The process of transferring files using Dolphin and FISH is well integrated into the overall Plasma desktop environment. Slide 2 in the above set shows the notification at the completion of the transfer.
The remote files displayed locally can be opened as if they are stored on the local computer. In the first slide below, the remote user's .bashrc file is being opened locally using the right click context menu in order to choose the program to use to open the file. The second slide shows the remote .bashrc file open in the Kate text editor. Note that because the option to display the full file path in the titlebar is set in Kate, the full path of the file is shown as:
fish://username@192.168.56.101/home/username/.bashrc
and we can see that the file being edited is a remote file at /home/username/.bashrc on the host at 192.168.56.101 accessed through the FISH protocol as the remote computer user username.
The FISH protocol in Dolphin allows Plasma users to easily transfer files between local and remote computers, streamlining workflows that might otherwise require using other programs such as Filezilla or scp, by allowing operations directly in Dolphin. It also allows access to remote files for direct editing on the local computer. All that is required is a configured SSH server on the remote computer.